Field of Various Embodiments
The present disclosure generally relates to computer networks, and, more specifically, to incremental deployment of computer software program logic on client devices in a network.
Related Art
Until recently, computer application software program behavior has been somewhat fixed in nature. This means generally that computer software programs are only able to operate with previously determined data sources and specific data structures using prearranged computer code logic. Thus, users of such software programs are able to operate these software programs only within the narrow bounds of the program's pre-encoded software instructions. This may limit the users to preexisting fixed views, editors and visualizations of their data, and the unchanging repeatable operations on that data as specifically supported by the logic coded into the software program they were using. However, more recently, advanced software programs can locate and invoke previously unknown (to the program's original designer or coder) remote computer software programs and new logic to act on data and for remote processing or local processing at the user's behest (or in some cases automatically). Automated evolution or extension of a software program's initial functional capabilities can occur when individual additional program behaviors or new data types are introduced that were not previously provided for, nor perhaps even contemplated by the original designers and coders of the software program. For example, computer software programs that allow their end-users (or even automated procedures) to determine, as they make use of the program or reconfigure the program options, which data they want to edit, visualize or otherwise access, as well as which additional remote and local software program services can be invoked with that data as input or output. The reasons why the dynamic extension of software program functionality might be necessary include adding the facility to load or interact with hitherto unseen data types, provide new editors or visualizations for data or to provide alternative algorithmic processing capabilities.
Therefore, a need exists for systems and methods for adding the additional data types and incremental deployment of computer software programs on various computing devices in a network.